import XLSX from 'xlsx'

/**
 * @description: 获取map的长度
 * @param {Object} obj map对象
 * @return: map的长度
 */
function getLength(obj) {
  var count = 0
  for (var i in obj) {
    if (obj.hasOwnProperty(i)) {
      count++
    }
  }

  return count
}

/**
 * @description:
 * @param {Object} json 服务端发过来的数据
 * @param {String} name 导出诊断结果Excel文件名字
 * @return:
 */
function questionnaireExcel(json, name) {
  /* convert state to workbook */
  const data = []
  const keyArray = []
  for (const key1 in json) {
    if (json.hasOwnProperty(key1)) {
      const element = json[key1]
      const rowDataArray = []
      for (const key in characterQuestionnaire) {
        for (const key2 in element) {
          if (element.hasOwnProperty(key2)) {
            if (key === key2) {
              if (key2 === 'a09') {
                if (element[key2] === '0') {
                  rowDataArray.push('国企')
                } else if (element[key2] === '1') {
                  rowDataArray.push('合资')
                } else if (element[key2] === '2') {
                  rowDataArray.push('民营')
                } else if (element[key2] === '3') {
                  rowDataArray.push('外企')
                } else {
                  rowDataArray.push(' ')
                }
              } else if (key2 === 'a10') {
                if (element[key2] === '0') {
                  rowDataArray.push('大型')
                } else if (element[key2] === '1') {
                  rowDataArray.push('中型')
                } else if (element[key2] === '2') {
                  rowDataArray.push('小型')
                } else if (element[key2] === '3') {
                  rowDataArray.push('微型')
                } else {
                  rowDataArray.push(' ')
                }
              } else if (key2 === 'a11') {
                if (element[key2] === '0') {
                  rowDataArray.push('装备制造')
                } else if (element[key2] === '1') {
                  rowDataArray.push('石油化工')
                } else if (element[key2] === '2') {
                  rowDataArray.push('生物医药')
                } else if (element[key2] === '3') {
                  rowDataArray.push('轻工建材')
                } else if (element[key2] === '4') {
                  rowDataArray.push('纺织服装')
                } else if (element[key2] === '5') {
                  rowDataArray.push('信息技术')
                } else if (element[key2] === '6') {
                  rowDataArray.push('节能环保')
                } else if (element[key2] === '7') {
                  rowDataArray.push('交通运输')
                } else if (element[key2] === '8') {
                  rowDataArray.push('文教娱乐')
                } else if (element[key2] === '9') {
                  rowDataArray.push('农林牧渔')
                } else if (element[key2] === '10') {
                  rowDataArray.push('食品加工')
                } else if (element[key2] === '11') {
                  rowDataArray.push('科学研究及工程服务')
                } else if (element[key2] === '12') {
                  rowDataArray.push('其他')
                } else {
                  rowDataArray.push(' ')
                }
              } else if (key2 === 'a13') {
                if (element[key2] === '0') {
                  rowDataArray.push('1000万以下')
                } else if (element[key2] === '1') {
                  rowDataArray.push('1000万-3000万')
                } else if (element[key2] === '2') {
                  rowDataArray.push('3000万-5000万')
                } else if (element[key2] === '3') {
                  rowDataArray.push('5000万-1亿')
                } else if (element[key2] === '4') {
                  rowDataArray.push('1亿-5亿')
                } else if (element[key2] === '5') {
                  rowDataArray.push('5亿以上')
                } else {
                  rowDataArray.push(' ')
                }
              } else if (key2 === 'b03') {
                if (element[key2] === '0') {
                  rowDataArray.push('国家级')
                } else if (element[key2] === '1') {
                  rowDataArray.push('省级')
                } else if (element[key2] === '2') {
                  rowDataArray.push('市级')
                } else if (element[key2] === '3') {
                  rowDataArray.push('否')
                } else {
                  rowDataArray.push(' ')
                }
              } else if (key2 === 'b11') {
                if (element[key2] === '0') {
                  rowDataArray.push('国家级')
                } else if (element[key2] === '1') {
                  rowDataArray.push('省级')
                } else if (element[key2] === '2') {
                  rowDataArray.push('市级')
                } else if (element[key2] === '3') {
                  rowDataArray.push('否')
                } else {
                  rowDataArray.push(' ')
                }
              } else if (key2 === 'b12') {
                if (element[key2] === '0') {
                  rowDataArray.push('国家级')
                } else if (element[key2] === '1') {
                  rowDataArray.push('省级')
                } else if (element[key2] === '2') {
                  rowDataArray.push('市级')
                } else if (element[key2] === '3') {
                  rowDataArray.push('否')
                } else {
                  rowDataArray.push(' ')
                }
              } else if (key2 === 'b14') {
                if (element[key2] === '0') {
                  rowDataArray.push('独立研发')
                } else if (element[key2] === '1') {
                  rowDataArray.push('与大企业合作研发')
                } else if (element[key2] === '2') {
                  rowDataArray.push('与其他中小企业合作研发')
                } else if (element[key2] === '3') {
                  rowDataArray.push('与科研机构或高校合作研发')
                } else if (element[key2] === '4') {
                  rowDataArray.push('第三方机构组织合作研发')
                } else if (element[key2] === '5') {
                  rowDataArray.push('购买服务')
                } else if (element[key2] === '6') {
                  rowDataArray.push('其他')
                } else {
                  rowDataArray.push(' ')
                }
              } else if (key2 === 'b16') {
                if (element[key2] === '0') {
                  rowDataArray.push('开发新产品')
                } else if (element[key2] === '1') {
                  rowDataArray.push('实施工艺技术改造')
                } else if (element[key2] === '2') {
                  rowDataArray.push('组织管理模式改革')
                } else if (element[key2] === '3') {
                  rowDataArray.push('商业模式或者营销手段创新')
                } else if (element[key2] === '4') {
                  rowDataArray.push('开拓新的业务领域')
                } else if (element[key2] === '5') {
                  rowDataArray.push('其他')
                } else {
                  rowDataArray.push(' ')
                }
              } else if (key2 === 'b17') {
                if (element[key2] === '0') {
                  rowDataArray.push('政府补贴')
                } else if (element[key2] === '1') {
                  rowDataArray.push('银行贷款')
                } else if (element[key2] === '2') {
                  rowDataArray.push('风险投资')
                } else if (element[key2] === '3') {
                  rowDataArray.push('上市融资')
                } else if (element[key2] === '4') {
                  rowDataArray.push('知识产权质押融资')
                } else if (element[key2] === '5') {
                  rowDataArray.push('企业自筹')
                } else {
                  rowDataArray.push(' ')
                }
              } else if (key2 === 'b18') {
                if (element[key2] === '0') {
                  rowDataArray.push('是')
                } else if (element[key2] === '1') {
                  rowDataArray.push('不知道有公共技术研发平台')
                } else if (element[key2] === '2') {
                  rowDataArray.push('使用条件过于苛刻')
                } else if (element[key2] === '3') {
                  rowDataArray.push('使用经济成本过高')
                } else if (element[key2] === '4') {
                  rowDataArray.push('还没有使用的需求')
                } else {
                  rowDataArray.push(' ')
                }
              } else if (key2 === 'b19') {
                if (element[key2] === '0') {
                  rowDataArray.push('是')
                } else if (element[key2] === '1') {
                  rowDataArray.push('否')
                } else {
                  rowDataArray.push(' ')
                }
              } else if (key2 === 'b21') {
                if (element[key2] === '0') {
                  rowDataArray.push('是')
                } else if (element[key2] === '1') {
                  rowDataArray.push('否')
                } else {
                  rowDataArray.push(' ')
                }
              } else if (key2 === 'c01') {
                if (element[key2] === '0') {
                  rowDataArray.push('一级（20-40分）')
                } else if (element[key2] === '1') {
                  rowDataArray.push('二级（40-60分）')
                } else if (element[key2] === '2') {
                  rowDataArray.push('三级（60-80分）')
                } else if (element[key2] === '3') {
                  rowDataArray.push('四级（80分以上）')
                } else if (element[key2] === '4') {
                  rowDataArray.push('未进行测评')
                } else {
                  rowDataArray.push(' ')
                }
              } else if (key2 === 'c05') {
                if (element[key2] === '0') {
                  rowDataArray.push('是')
                } else if (element[key2] === '1') {
                  rowDataArray.push('否')
                } else {
                  rowDataArray.push(' ')
                }
              } else if (key2 === 'd04') {
                if (element[key2] === '0') {
                  rowDataArray.push('500万元以下')
                } else if (element[key2] === '1') {
                  rowDataArray.push('500-1000万元')
                } else if (element[key2] === '2') {
                  rowDataArray.push('1000-3000万元')
                } else if (element[key2] === '3') {
                  rowDataArray.push('3000万元以上')
                } else if (element[key2] === '4') {
                  rowDataArray.push('无需求')
                } else {
                  rowDataArray.push(' ')
                }
              } else if (key2 === 'd07') {
                if (element[key2] === '0') {
                  rowDataArray.push('尚未对外进行股权融资')
                } else if (element[key2] === '1') {
                  rowDataArray.push('天使轮')
                } else if (element[key2] === '2') {
                  rowDataArray.push('A轮')
                } else if (element[key2] === '3') {
                  rowDataArray.push('B轮')
                } else if (element[key2] === '4') {
                  rowDataArray.push('C轮及以上')
                } else if (element[key2] === '5') {
                  rowDataArray.push('已进入上市辅导阶段')
                } else if (element[key2] === '6') {
                  rowDataArray.push('已上市')
                } else {
                  rowDataArray.push(' ')
                }
              } else if (key2 === 'd08') {
                if (element[key2] === '0') {
                  rowDataArray.push('无资金需求')
                } else if (element[key2] === '1') {
                  rowDataArray.push('0-1000万')
                } else if (element[key2] === '2') {
                  rowDataArray.push('1000万-3000万')
                } else if (element[key2] === '3') {
                  rowDataArray.push('3000万以上')
                } else {
                  rowDataArray.push(' ')
                }
              } else if (key2 === 'd09') {
                if (element[key2] === '0') {
                  rowDataArray.push('无融资行为')
                } else if (element[key2] === '1') {
                  rowDataArray.push('4%以下')
                } else if (element[key2] === '2') {
                  rowDataArray.push('4%-6%之间')
                } else if (element[key2] === '3') {
                  rowDataArray.push('6%-8%之间')
                } else if (element[key2] === '4') {
                  rowDataArray.push('8%-10%之间')
                } else if (element[key2] === '5') {
                  rowDataArray.push('10%-12%之间')
                } else if (element[key2] === '6') {
                  rowDataArray.push('12%以上')
                } else {
                  rowDataArray.push(' ')
                }
              } else if (key2 === 'd11') {
                if (element[key2] === '0') {
                  rowDataArray.push('更容易，利率更低')
                } else if (element[key2] === '1') {
                  rowDataArray.push('没有什么显著变化')
                } else if (element[key2] === '2') {
                  rowDataArray.push('更困难，利率更高')
                } else {
                  rowDataArray.push(' ')
                }
              } else if (key2 === 'e06') {
                if (element[key2] === '0') {
                  rowDataArray.push('非常愿意')
                } else if (element[key2] === '1') {
                  rowDataArray.push('愿意')
                } else if (element[key2] === '2') {
                  rowDataArray.push('不愿意')
                } else {
                  rowDataArray.push(' ')
                }
              } else if (key2 === 'f11') {
                if (element[key2] === '0') {
                  rowDataArray.push('深耕大企业不感兴趣的市场')
                } else if (element[key2] === '1') {
                  rowDataArray.push('聚焦主流市场以外的边缘市场')
                } else if (element[key2] === '2') {
                  rowDataArray.push('链主企业做配套')
                } else if (element[key2] === '3') {
                  rowDataArray.push('面向公共服务领域，积极参与政府采购')
                } else if (element[key2] === '4') {
                  rowDataArray.push('更低的价格、更高的性能')
                } else if (element[key2] === '5') {
                  rowDataArray.push('优先推出市场上没有的产品')
                } else if (element[key2] === '6') {
                  rowDataArray.push('拥有专门的客户渠道')
                } else if (element[key2] === '7') {
                  rowDataArray.push('其他')
                } else {
                  rowDataArray.push(' ')
                }
              } else if (key2 === 'f15') {
                if (element[key2] === '0') {
                  rowDataArray.push('80%-100%')
                } else if (element[key2] === '1') {
                  rowDataArray.push('60%-80%')
                } else if (element[key2] === '2') {
                  rowDataArray.push('40%-60%')
                } else if (element[key2] === '3') {
                  rowDataArray.push('20%-40%')
                } else if (element[key2] === '4') {
                  rowDataArray.push('0-20%')
                } else {
                  rowDataArray.push(' ')
                }
              } else {
                rowDataArray.push(element[key2])
              }
              if (keyArray.length < getLength(characterQuestionnaire)) {
                keyArray.push(characterQuestionnaire[key].text)
              }
            }
          }
        }
      }
      data.push(rowDataArray)
    }
  }
  data.splice(0, 0, keyArray)
  // const cols = []
  const ws = XLSX.utils.aoa_to_sheet(data)
  // ws['!cols'] = cols
  const wb = XLSX.utils.book_new()
  XLSX.utils.book_append_sheet(wb, ws, 'sheet1')
  /* generate file and send to client */
  XLSX.writeFile(wb, name + '.xlsx')
}

const characterQuestionnaire = {
  a01: {
    text: '企业名称',
    type: String
  },
  a04: {
    text: '成立时间',
    type: String
  },
  a05: {
    text: '企业员工数',
    type: String
  },
  a06: {
    text: '其中本科及以上员工占比',
    type: String
  },
  a07: {
    text: '企业生产的主要产品或服务',
    type: String
  },
  a08: {
    text: '企业从事特定细分市场时间',
    type: String
  },
  a09: {
    text: '企业性质',
    type: String
  },
  a10: {
    text: '企业规模',
    type: String
  },
  a11: {
    text: '企业所属的国民经济行业类别',
    type: String
  },
  a12: {
    text: '是否已经被评为专精特新企业（可多选）',
    type: String
  },
  a13: {
    text: '企业上年度营收规模',
    type: String
  },
  a14: {
    text: '企业最初的创业类型',
    type: String
  },
  a15: {
    text: '企业目前的核心竞争力（可多选）',
    type: String
  },
  a16: {
    text: '与产业链上下游企业在哪些方面开展合作（可多选）',
    type: String
  },
  a17: {
    text: '中小企业专精特新发展中面临的主要困难是（多选,可选三项）',
    type: String
  },
  b01: {
    text: '企业拥有的有效发明专利数(个)',
    type: String
  },
  b02: {
    text: '其中自主研发（个）',
    type: String
  },
  b03: {
    text: '上年度企业研发投入强度(%)',
    type: String
  },
  b04: {
    text: '企业目前的国家级研发机构（个）',
    type: String
  },
  b05: {
    text: '省级(个)',
    type: String
  },
  b06: {
    text: '自建（个）',
    type: String
  },
  b07: {
    text: '主导或参与国际标准制定(个)',
    type: String
  },
  b08: {
    text: '主导或参与国家标准制定（个）',
    type: String
  },
  b09: {
    text: '主导或参与行业标准制定(个)',
    type: String
  },
  b10: {
    text: '参与课题研究',
    type: String
  },
  b11: {
    text: '示范项目/重大项目',
    type: String
  },
  b12: {
    text: '拥有技术创新平台',
    type: String
  },
  b13: {
    text: '企业“专精特新”技术或产品开发的难点是（150字以内）',
    type: String
  },
  b14: {
    text: '企业核心技术产品主要获得途径',
    type: String
  },
  b15: {
    text: '企业开展关键核心技术研发活动的动力来源',
    type: String
  },
  b16: {
    text: '企业目前的主要创新活动为',
    type: String
  },
  b17: {
    text: '企业开展创新活动的主要资金来源',
    type: String
  },
  b18: {
    text: '企业是否利用国家或地区公共技术研发平台进行研发',
    type: String
  },
  b19: {
    text: '企业是否接受过大企业的技术指导或与大企业进行合作',
    type: String
  },
  b20: {
    text: '制约专精特新中小企业创新发展的主要因素',
    type: String
  },
  b21: {
    text: '是否开展校企协同创新',
    type: String
  },
  b22: {
    text: '合作院校',
    type: String
  },
  b23: {
    text: '合作方向',
    type: String
  },
  b24: {
    text: '具体内容及成效',
    type: String
  },
  b25: {
    text: '合同金额（人才“双聘”除外）万元',
    type: String
  },
  b26: {
    text: '意向院校',
    type: String
  },
  b27: {
    text: '合作方向',
    type: String
  },
  b28: {
    text: '具体需求',
    type: String
  },
  c01: {
    text: '中小企业数字化水平测评等级',
    type: String
  },
  c02: {
    text: '企业管理数字化现状',
    type: String
  },
  c03: {
    text: '企业研发设计和生产制造数字化现状',
    type: String
  },
  c04: {
    text: '企业信息网络和系统建设现状',
    type: String
  },
  c05: {
    text: '是否有专门负责数字化转型部门',
    type: String
  },
  c06: {
    text: '企业在数字化转型过程中遇到的最大难点是',
    type: String
  },
  c07: {
    text: '企业在数字化场景打造方面存在哪些困难',
    type: String
  },
  c08: {
    text: '企业对电子商务平台功能的使用情况',
    type: String
  },
  c09: {
    text: '企业希望电子商务平台提供哪些深度数字服务',
    type: String
  },
  d01: {
    text: '企业在资金方面的主要需求',
    type: String
  },
  d02: {
    text: '企业资金的主要来源',
    type: String
  },
  d03: {
    text: '企业获得财政资金支持的情况',
    type: String
  },
  d04: {
    text: '企业融资需求',
    type: String
  },
  d05: {
    text: '企业融资主要用于下面哪些事项',
    type: String
  },
  d06: {
    text: '企业计划融资方式',
    type: String
  },
  d07: {
    text: '企业股权融资目前处于什么阶段',
    type: String
  },
  d08: {
    text: '是否有债权融资需求，需求金额',
    type: String
  },
  d09: {
    text: '企业目前的融资成本大概是多少',
    type: String
  },
  d10: {
    text: '企业在银行贷款过程中遇到的问题',
    type: String
  },
  d11: {
    text: '最近一年来，从当地银行借款的难易程度有没有变化',
    type: String
  },
  d12: {
    text: '造成融资难的原因有哪些主要方面',
    type: String
  },
  e01: {
    text: '企业的人才团队具有哪些优势',
    type: String
  },
  e02: {
    text: '企业目前急需的人才类型为',
    type: String
  },
  e03: {
    text: '企业在人才引培方面面临的困难',
    type: String
  },
  e04: {
    text: '企业人才的来源是',
    type: String
  },
  e05: {
    text: '企业希望政府在人才招引培育方面采取哪些措施',
    type: String
  },
  e06: {
    text: '企业是否愿意与职业院校开展校企合作共同培养技能型人才',
    type: String
  },
  e07: {
    text: '具体选项',
    type: String
  },
  e08: {
    text: '如果参与校企合作共同培养人才，企业愿意采用的合作模式',
    type: String
  },
  e09: {
    text: '在校企合作中企业希望政府能够采取的行为或希望享受到的优惠政策',
    type: String
  },
  f01: {
    text: '主导产品的国内占有率（%)',
    type: String
  },
  f02: {
    text: '在国内主要销往省、市（个）',
    type: String
  },
  f03: {
    text: '请列举前5位省市名称',
    type: String
  },
  f04: {
    text: '企业国际业务占比（%）',
    type: String
  },
  f05: {
    text: '主导产品的国外市场占有率（%）',
    type: String
  },
  f06: {
    text: '主要销往国家和地区',
    type: String
  },
  f07: {
    text: '企业在国外建有机构',
    type: String
  },
  f08: {
    text: '企业现在为大型企业提供配套数量',
    type: String
  },
  f09: {
    text: '这些大企业都分布在国家和地区',
    type: String
  },
  f10: {
    text: '列举三个知名度较大的大企业名称',
    type: String
  },
  f11: {
    text: '企业的市场策略',
    type: String
  },
  f12: {
    text: '企业市场拓展的主要方式是',
    type: String
  },
  f13: {
    text: '企业在市场拓展方面面临的挑战',
    type: String
  },
  f14: {
    text: '企业营销数字化发展现状',
    type: String
  },
  f15: {
    text: '近三年来自电商渠道的销售额占整体收入比例',
    type: String
  },
  f16: {
    text: '企业未开展国际业务的原因',
    type: String
  },
  f17: {
    text: '企业国际业务主要形式',
    type: String
  },
  f18: {
    text: '相比疫情前，企业国际业务面临的主要困难',
    type: String
  },
  f19: {
    text: '未来3年内拟部署的国际合作业务有，主要包括以下形式',
    type: String
  },
  f20: {
    text: '请填写',
    type: String
  },
  f21: {
    text: '企业国际化过程中遇到的主要困难和问题',
    type: String
  },
  f22: {
    text: '企业认为现有各类服务中小企业国际化的公共平台和机构存在的问题是',
    type: String
  },
  h01: {
    text: '您认为一个普通的小企业转型为“专精特新”企业，哪些因素很重要(多选，可选三项)',
    type: String
  },
  h02: {
    text: '专精特新中小企业的服务需求主要是(多选，可选三项)',
    type: String
  },
  h03: {
    text: '您认为数字化转型是否是企业成长为专精特新企业的必经之路？在企业数字化转型方面有哪些建议？',
    type: String
  },
  h04: {
    text: '您觉得可持续发展方面的绿色低碳转型，对贵公司而言是机会还是挑战？具体表现在哪方面？',
    type: String
  },
  h05: {
    text: '其他意见或建议',
    type: String
  }
}

export default {
  questionnaireExcel
}
